Event processing systems consist of a topological network of components forming what is known as an Event Processing Network (EPN) that together collaborate towards the processing of the events. In this EPN, the events originate at event sources, which typically reside in remote edge devices, or gateways. The event sources send their events to downstream processors, which reside in data centers and enterprise servers. The problem with this approach is that the events are only processed after they have been transported from the edge to the centralized servers, sometimes making unnecessary use of bandwidth and processing power. For example, in some cases the events are simply filtered out (discarded) by the processor in the server. In other cases, several events are aggregated into a single event in the server. To cope with this problem, systems typically try to scale by adding more bandwidth between the edge and the server and more processing power in the servers.
Event processing systems that include remote event sources, and perform the bulk of the processing on centralized systems (e.g. datacenter servers) often suffer from inefficiencies because all of the event data must be transported across the network before it can be centrally processed. This can result in longer latencies in responding to events, bandwidth problems from the large amount of event traffic (especially in the case of low bandwidth connections from the remote sources), and an inability to fully utilize computing capacity in remote/edge devices 104.